package com.pap.spidemo.interfaces;

import com.pap.obj.vo.logineduser.LoginedUserVO;

/**
 * 设计的SPI微型框架的核心为：在执行的时候，根据传入的参数来决定具体的实例来执行，因此我们的接口设计中，至少有一个根据传入的参数来判断是否选中这个实例的接口.
 * @param <T>
 */
public interface ISPIInterface<T> {

    /**
     * 条件判断
     * @param loginedUserVO
     * @return
     */
    Boolean conditionVerify(LoginedUserVO loginedUserVO);

    /**
     * 排序，数字越小，优先级越高
     * @return
     */
    default int order() {
        return 10;
    }

}
